home *** CD-ROM | disk | FTP | other *** search
/ Chip 1996 November / Chip 11-96.iso / workshop / howto / java < prev    next >
Text File  |  1996-05-26  |  24KB  |  588 lines

  1.   Java on Linux HOWTO
  2.   maintained by Eric S. Raymond, <esr@snark.thyrsus.com>
  3.   v1.0, 10 December 1995
  4.  
  5.   This document describes how to get started with Java and HotJava under
  6.   Linux, as either a user or a programmer.
  7.  
  8.   1.  Introduction
  9.  
  10.   This document is a Linux-centric introduction to the world of Java and
  11.   HotJava.  These technologies are rapidly evolving, and we welcome
  12.   contributions from anywhere.
  13.  
  14.   Places in this document that are in serious need of checking or
  15.   filling out are bracketed with *** ***.  Also see the ``To Be
  16.   Added...'' section below.  Please help us improve this HOWTO.
  17.  
  18.   2.  General Questions About Java and HotJava
  19.  
  20.   This section is a general (non-Linux-specific) introduction to Java
  21.   and HotJava.
  22.  
  23.  
  24.   2.1.  What are are Java and HotJava and why are they interesting?
  25.  
  26.   Java is a network-aware language superficially resembling C++, but
  27.   much smaller and more compact and cleanly designed.  It's an
  28.   unlimited-extent language with garbage collection like Lisp, but with
  29.   strong type checking.  It includes lightweight processes (threads) as
  30.   a native facility and has powerful network-security features.  So far,
  31.   its major application is the HotJava browser, but it holds
  32.   considerable promise as a general-purpose application language.
  33.  
  34.   HotJava is a WWW browser written in Java.  Its major advance over
  35.   other browsers is that it knows about a new HTML construct called an
  36.   APP, which is some Java class that executes on the client machine.
  37.   Thus, WWW documents written with Java in mind can have "live" code
  38.   objects embedded in them, as opposed to just data.
  39.  
  40.   The ability to safely pass around code objects probably represents the
  41.   most significant advance in WWW technology since the first release of
  42.   Mosaic.  At minimum, it delivers an extensible Web browser that won't
  43.   need perpetual upgrading to handle new image formats and tag types.
  44.  
  45.   2.2.  Where do Java and HotJava come from?  Who can use them?
  46.  
  47.   Java and HotJava were developed at Sun Microsystems by a team headed
  48.   by James Gosling (well known as the designer of Gosling Emacs and
  49.   NeWS).
  50.  
  51.   The last time Sun tried to set a major technical standard was NeWS,
  52.   its Network Window System.  Though NeWS was pretty universally
  53.   conceded to be technically superior to X, X won because its sources
  54.   were freely redistributable.  Sun learned from this mistake, and has
  55.   made Java/HotJava much more generally available; the sources can be
  56.   downloaded under a fairly relaxed license (see ``Java as Freely
  57.   Redistributable Software'').  Sun is encouraging ports to non-Sun
  58.   environments.
  59.  
  60.   Netscape now interprets Java.  Microsoft licensed the technology in
  61.   early December 1995.  So it appears that Java support will probably
  62.   become universal in 1996.
  63.  
  64.   Java used to be called Oak.  HotJava was once known as WebRunner.
  65.  
  66.  
  67.   2.3.  How mature is Java?
  68.  
  69.   Java is currently (December 1995) in late beta at Sun.  The Java
  70.   environment API defining its access to the host OS and windowing
  71.   system has allegedly been semi-frozen -- it may be extended, but won't
  72.   be incompatibly changed.
  73.  
  74.   The 1.0 version of this FAQ is being issued along with the beta 1.0
  75.   Java Developer's Kit (JDK) for Linux, ported by Randy Chapman.
  76.  
  77.   Significant holes are known to exist in the Java security
  78.   implementation.  It is not yet a good idea to use Java for sensitive
  79.   applications.  These problems are expected to be fixed in the
  80.   production (post-beta) releases.
  81.  
  82.   2.4.  Where can I find documentation on Java and HotJava?
  83.  
  84.   Sun maintains an extensive HTML web of Java and HotJava-related
  85.   documents at  <http://java.sun.com>.  These documents are mirrored at
  86.   <http://java.blackdown.com> and elsewhere; see Sun's list of mirror
  87.   sites.
  88.  
  89.   2.5.  Yes, but where can I find paper documentation?
  90.  
  91.   SunSoft Press's official series of Java books is in the production
  92.   pipeline at Addison-Wesley.  Some details about these can be found in
  93.   the comp.lang.java FAQ <http://www.city-net.com/~krom/java-faq.html>.
  94.  
  95.   O'Reilly Associates is working on its own series of Java books in
  96.   cooperation with Sun.  These are expected to include (at least) a
  97.   "Nutshell Guide To Java", a language reference, a class library
  98.   reference, and a book on the underlying byte-code virtual machine.
  99.   (Full-disclosure statement: Your HOWTO editor has been invited by
  100.   O'Reilly Associates to serve as primary technical reviewer for this
  101.   series, and will be paid for that work.)
  102.  
  103.   Per information on Sun's java web pages, SAMS will be publishing in
  104.   December, 1995, "Learing Java in 21 Days".  I checked with the local
  105.   (Vienna, VA) Computer Learning Center bookstore; they expect to
  106.   receive their first shipment sometime in mid-late December.
  107.  
  108.   One of our contributors, browsing his local Bookstop/Barnes &
  109.   Noble/Borders, came up with 3 books already out:
  110.  
  111.   o  One called 'Java in 60 minutes' that looked like a pretty strict
  112.      syntactic description (about $20).
  113.  
  114.   o  One from SamsNet called just `Java' (about $20).
  115.  
  116.   o  One by Tim Ritchey called `Java!' that includes a CD-ROM (about
  117.      $35).
  118.  
  119.      Our informant continues: "I bought the 3rd one (by Tim Ritchey).
  120.      Paper leadtimes being what they are, the CD-ROM only has alpha
  121.      stuff, though it mentions that the beta version might be out by the
  122.      time you read it and suggests java.sun.com as a place to get more
  123.      recent information.  Other than that, it's pretty good, even to
  124.      pointing out that `well, it's pointless for me to spam you with
  125.      pages and pages of API descriptions because 1) it would quadruple
  126.      the size of the book and 20 they're still ch anging and 2) you can
  127.      get that info online at ...etc'"
  128.  
  129.   2.6.  Where can I find on-line collections of Java code?
  130.  
  131.   WWW archives of applets are available at the following locations:
  132.  
  133.   o  <http://java.sun.com/>
  134.  
  135.   o  <http://www.applets.com/>
  136.  
  137.   o  <http://www.gamelan.com/>
  138.  
  139.   o  <http://www.javasoft.com/applets/applets.html>
  140.  
  141.      Most of the applets on these pages come with source code, and
  142.      programmers are invited to use them.
  143.  
  144.   Pointers to others may be available in the comp.lang.java FAQ
  145.   <http://www.city-net.com/~krom/java-faq.html>.
  146.  
  147.   3.  Java as Freely Redistributable Software
  148.  
  149.   Many Linux programmers are attached to producing freely
  150.   redistributable software (FRS), and try to avoid committing a lot of
  151.   time to tools for which sources are not generally available.  In this
  152.   section, we discuss Sun's and Java's relationship with the FRS world.
  153.  
  154.   (Warning: I am not a lawyer.  I am neither employed by, nor an agent
  155.   of, nor a stockholder in, Sun Microsystems.  This section is based on
  156.   my interpretation of the current copyright law and the Sun licensing
  157.   language.  Treat this as an introduction; the Sun licensing page,
  158.   <http://www.blackdown.org/Java/licensing.html> is definitive. If you
  159.   are in serious doubt about what it means, consult an attorney.)
  160.  
  161.  
  162.   3.1.  Are Java programs and applets freely redistributable?
  163.  
  164.   They are if you write them and choose to make them FRS through some
  165.   mechanism (such as the GPL, or a BSD-style license, or declaring them
  166.   public domain).
  167.  
  168.  
  169.   3.2.  What can I do with Java implementation binaries?
  170.  
  171.   The Sun licensing page has this to say:
  172.  
  173.        The unmodified Java and HotJava binary releases may be
  174.        redistributed free of charge in both commercial and non-
  175.        commercial applications.
  176.  
  177.  
  178.   Also:
  179.  
  180.        Companies or individuals who wish to create a new port of
  181.        the Java language have the right under this agreement to
  182.        post the binaries of that port to the Internet for use by
  183.        others, as long as the port is free of charge and passes the
  184.        publicly available test suites. (Test suites will be avail-
  185.        able sometime in the first half of 1996.) The "diffs" may
  186.        also be posted on the web as long as the underlying source
  187.        code is not posted. The Java source code is
  188.  
  189.  
  190.   So if you've got a working Java or HotJava binary, you can give it to
  191.   your buddies.  Or put it on a CD-ROM.  Or do anything except patch it
  192.   and represent the patched version as Java.  (This is reasonable.  Sun
  193.   obviously can't leave itself without recourse against Trojan horses
  194.   sailing under the Java banner.)  Binaries are FRS.
  195.  
  196.  
  197.  
  198.  
  199.   3.3.  Which parts of the Java sources are freely redistributable?
  200.  
  201.   According to Sun's licensing page, none of it is.  But that sounds
  202.   harsher than it is.  In practice, anyone can get the Java and HotJava
  203.   sources for educational, porting, and non-commercial purposes by
  204.   filling out a Web form which obligates them not to redistribute the
  205.   sources.  And the agreement does permit redistribution of diffs
  206.   against the sources.
  207.  
  208.   The only circumstance that requires you to sign a commercial license
  209.   with Sun and pay them money is if you want to use the sources in a
  210.   commercial product.  In particular, the way the language is written,
  211.   it's within the letter and spirit of the agreement for you to sign
  212.   Sun's noncommercial source license, snarf the source, port it, and
  213.   give away the results as completely unencumbered freeware!
  214.  
  215.   Sun says that its primary purpose in keeping as much control as it has
  216.   is to keep the language from mutating into incompatible dialects.  The
  217.   license language supports this; it seems to have been designed to
  218.   allow hackers to play for free.
  219.  
  220.   3.4.  Is anyone cloning Java in freely redistributable source?
  221.  
  222.   Not that we know of, yet.  The Sun licensing page says:
  223.  
  224.        The specifications for the Java Language and the Java Vir-
  225.        tual Machine are OPEN and are copyrighted by Sun Microsys-
  226.        tems, Inc.
  227.  
  228.  
  229.  
  230.        Reimplementations of the Java Compiler or the Java Runtime
  231.        Interpreter are permitted without requiring a license from
  232.        Sun provided such implementations are created directly from
  233.        the published specifications and without the direct or indi-
  234.        rect use of Sun's own implementations or other intellectual
  235.        property rights, including trademarks.
  236.  
  237.  
  238.   So if you want to go to the effort of creating a Java clone from the
  239.   published specifications that is FRS, and calling it "Mr. Coffee", Sun
  240.   won't stop you.
  241.  
  242.   If Java becomes as popular as everybody expects, it will certainly be
  243.   cloned.  (The editor of this HOWTO hereby announces his availablity to
  244.   help write either the Mr. Coffee compiler or the byte-code interpreter
  245.   or both, as soon as suitable specification documents become
  246.   available.)
  247.  
  248.  
  249.   3.5.  Are there any FRS Java Tools?
  250.  
  251.   There is a GNU Emacs mode for editing Java.  You can fetch it from
  252.   <ftp://java.sun.com/pub/java/contrib/emacs>.
  253.  
  254.   3.6.  What is Sun's attitude towards FRS Java implementations and
  255.   tools?
  256.  
  257.   Sun people use the term "rogue port" for Java implementations that
  258.   either (a) are performed outside Sun, or (b) don't rely on Sun-
  259.   licensed code (sometimes the term seems to mean one thing, sometimes
  260.   the other).  They seem to think some of these already exist, but we
  261.   don't know where they are, nor if they are FRS.  They're pretty
  262.   relaxed about the situation.
  263.  
  264.  
  265.   Sun has a Java validation suite.  They have said they'll certify any
  266.   Java port that passes it.  (Whether this validation will cost money is
  267.   unknown, but Sun says in writing that the suite wil be "publicly
  268.   available" in 1996, which at least hints that it will not.) They're
  269.   prepared to certify rogue ports, though this apparently hasn't
  270.   happened yet.
  271.  
  272.   4.  Java On Linux Questions
  273.  
  274.   Here you can learn the nuts and bolts of getting Java running on your
  275.   Linux.
  276.  
  277.  
  278.   4.1.  Are Java and HotJava included in any of the Linux distributions?
  279.  
  280.   No, not yet, but expect it any week now.
  281.  
  282.   4.2.  How can I get the latest Java distribution for Linux?
  283.  
  284.   Look in  <ftp://java.blackdown.org/pub/Java>.  The latest Java-for-
  285.   Linux can be downloaded from there.  You should browse the
  286.   <ftp://java.blackdown.org/pub/Java/README> first.
  287.  
  288.   The files you'll need are linux.jdk.common.tar.gz and one of either
  289.   linux.jdk.x86-static-motif-bin.tar.gz ot linux.jdk.x86-shared-motif-
  290.   bin.tar.gz, depending on whether you have Motif shared libraries on
  291.   your system.
  292.  
  293.   This port (from the Sun sources by Randy Chapman) is the one that's
  294.   referred to (as the JDK) elsewhere in this HOWTO.
  295.  
  296.   4.3.  What environment will I need to run Java?
  297.  
  298.   For starters, you need an ELF-based Linux.  There is no a.out support,
  299.   and at the speed the Linux world is switching over to ELF there is not
  300.   likely to be any in the future.
  301.  
  302.   You need a 1.2.13 or later kernel.  Kernels 1.2.12 and older seem to
  303.   have a bug in getcwd(3) that tanks bin/javac because it doesn't check
  304.   the getcwd(3) return code.
  305.  
  306.   You'll need these pieces:
  307.  
  308.  
  309.   o  libc.so.5 => /lib/libc.so.5.2.16
  310.  
  311.   o  libX11.so.6 => /usr/X11/lib/libX11.so.6.0
  312.  
  313.   o  libXt.so.6 => /usr/X11/lib/libXt.so.6.0
  314.  
  315.   o  libXext.so.6 => /usr/X11/lib/libXext.so.6.0
  316.  
  317.   o  libXpm.so.4 => /usr/X11/lib/libXpm.so.4.3
  318.  
  319.   o  libdl.so.1 => /lib/libdl.so.1.7.9
  320.  
  321.      The C and X support libraries may be in your Linux already.
  322.  
  323.   If you don't already have it, get libc.5.2.16.bin.tar.gz from
  324.   <ftp://tsx-11.mit.edu/pub/linux/packages/GCC/>.  Uncompress and untar
  325.   and copy the files in the lib subdirectory of the top level of the
  326.   hierarchy to /lib.
  327.  
  328.   If you don't have a current version of ld.so (or libdl.so.1.7.*) you
  329.   will need to update. ld.so.1.7.9 and .11 will work; .10 and other
  330.   early versions will not. Get ld-so.1.7.11.tar.gz from
  331.   <ftp://ftp.ods.com/linux/>; Uncompress and untar it and run
  332.   instldso.sh which is in the top level of the resulting hierarchy.
  333.  
  334.   You can get an Xpm library that will work from
  335.   <ftp://sunsite.unc.edu/pub/Linux/libs/X/libXpm.3.4f-ELF.tar.gz>.
  336.  
  337.   4.4.  Do I need Netscape?  Can I use Netscape?
  338.  
  339.   Yes, you need Netscape.  HotJava isn't yet available for the beta
  340.   release.  Randy Chapman says:
  341.  
  342.        Sun massively changed the awt interface when they shipped
  343.        the beta JDK and have not yet converted HotJava to it.  They
  344.        have promised they will, and it should work great with
  345.        linux-jdk when they release it.
  346.  
  347.  
  348.   It's unknown when this will happen.
  349.  
  350.   As of December 1995 only Netscape 2.0b3 is Java-aware.  It is
  351.   available at ftp1-7.netscape.com (i.e. at ftp1.netscape.com,
  352.   ftp2.netscape.com,... etc.)  The file to get is /2.0b3/unix/netscape-
  353.   v20b3-export.i486-unknown-linux.tar.Z.
  354.  
  355.   Note that Netscape 2.0b3 will run on an a.out system, so it is, in
  356.   theory, possible to write your java app, give it to someone else to
  357.   compile (like maybe the BlackStar Public Compiler
  358.   <http://mars.blackstar.com>), and see the output on your system.  If
  359.   you want more than that, get an ELF system.
  360.  
  361.   Adam Smith writes: A tiny amount of fudging (moving one file) is
  362.   required to make Netscape run from the distribution: it will crash
  363.   when loading a page with Java applet(s) if Netsacape's condensed
  364.   single-file version of the *.class files is not first in the CLASSPATH
  365.   environement variable, and I don't know the effect on Java/HotJava of
  366.   having that in the path (since the archived classfile format is
  367.   irregular, I suspect it might work).  I have run the Netscape
  368.   successfully on my Slackware 3.0 system.
  369.  
  370.   Steve Greene writes: There's been some discussion on the java-linux
  371.   list on how to configure Java and Netscape to make it pick up your
  372.   local applets for viewing.  The consensus seems to be that you need to
  373.   add the path to the applet added to the CLASSPATH environment
  374.   variable, or run a local Webserver and access the applets through the
  375.   local Webserver as if it were over the 'net; you may also need to be
  376.   connected to be able to find java.sun.com (I suspect but do not know
  377.   that this is a holdover from the alpha HotJava browser, and is simply
  378.   to ensure the browser could find the "stock" Sun class libraries on
  379.   there site.  I haven't tried any of this yet, so your milage may vary.
  380.  
  381.   4.5.  What mailing lists or newsgroups exist for supporting Java on
  382.   Linux?
  383.  
  384.  
  385.   o  java-linux (Maintained by karl@blackdown.org) Discussions and
  386.      developments concerning the port of Java to the Linux operating
  387.      system. Email to java-linux-request@java.blackdown.org with the
  388.      word `subscribe' in the subject to be added to the list.
  389.  
  390.   o  java-linux-announce (Maintained by karl@blackdown.org) Moderated
  391.      list for announcements concerning the Java-Linux porting projects.
  392.      Please send e-mail to java-linux-announce-
  393.      request@java.blackdown.org with the word subscribe in the subject,
  394.      to be added to the list.
  395.  
  396.  
  397.   o  comp.lang.java Newsgroup for general Java discussion.
  398.  
  399.   o  alt.www.hotjava Newsgroup for discussion of the HotJava browser.
  400.  
  401.   5.  Building the Linux Java port on stock Linuxes
  402.  
  403.   In this section, we collect recipes sent to us for building Randy
  404.   Chapman's Java port on various current Linux distributions:
  405.  
  406.  
  407.   5.1.  Slackware distribution ELF kernel 1.2.13.
  408.  
  409.   John Franks <john@math.nwu.edu> writes that he succeeded with the
  410.   following steps:
  411.  
  412.  
  413.   o  Get linux-x86.jdk.pre2.static-motif.tar.gz from
  414.      <ftp://www.blackdown.org/pub/Java/linux/> and uncompress it and
  415.      untar it.  (The filenames you must fetch have changes for the 1.0
  416.      beta JDK.)
  417.  
  418.   o  Get libc.5.2.16.bin.tar.gz  from
  419.      ftp://tsx-11.mit.edu/pub/linux/packages/GCC/ Uncompress and untar
  420.      and copy the files in the lib subdirectory of the top level of the
  421.      hierarchy to /lib.
  422.  
  423.   o  Get ld-so.1.7.11.tar.gz from ftp://ftp.ods.com/linux/ Uncompress
  424.      and untar it and run "instldso.sh" which is in the top level of the
  425.      resulting hierarchy.
  426.  
  427.      You should now be able to compile and try the "hello world" program
  428.      and applet from Sun following the instructions at
  429.      <http://java.sun.com/progGuide/index.html>.
  430.  
  431.   5.2.  RedHat 2.1/Caldera Preview 2
  432.  
  433.   Steve Greene <sgreene@access.digex.net> reports success doing the
  434.   following steps.  I have edited the recipe slightly, so blame any
  435.   mistakes on me.  The `JDK' he refers to is the Chapman port of the
  436.   Java Developer's Kit.
  437.  
  438.  
  439.   o  From ftp.ods.com, get the rpm available for ld.so.1.7.11.  Check
  440.      any RedHat mirror site for:
  441.  
  442.      /pub/mirrors/redhat-2.1/updates/RPMS/ld.so-1.7.11-i386.rpm
  443.  
  444.      I know it is available at ftp.pht.com, ftp.caldera.com. and is
  445.      probably at the other RedHat mirrors as well.  Grab it, and do `rpm
  446.      -ivh ld.so-1.7.11-1.i386.rpm' on your system.
  447.  
  448.   o  Get the tar file(s) for the statically-linked JDK.  Untar it from a
  449.      convenient point.  I put mine in /usr/local, so the untar creates
  450.      /usr/local/java/....
  451.  
  452.   o  So you can run java as someone other than root (this is a good
  453.      idea!), do `chmod 666 /dev/zero'.   Red Hat and Caldera have the
  454.      wrong permissions set on this device out of the box.
  455.  
  456.   o  If you haven't already, run ldconfig as root to load the new
  457.      libraries.  If you do "ldconfig -v"  you can verify you have all
  458.      the libraries loaded.  (At least we don't have to build an ELF
  459.      system first!)
  460.  
  461.   o  Make sure you're logged in as a user (e.g. non-root).  Start X-
  462.      windows, open an X-Term, and try something!
  463.   Steve adds: If I understand the on-line notes correctly, bin/java is a
  464.   script that calls the run-time Java interpreter (used to run Java
  465.   applications), bin/javac is a script for the Java compiler for
  466.   compiling applications and applets, and  bin/appletviewer is a script
  467.   that allows you to look at an exisiting (compiled) applet.
  468.  
  469.   A number of demonstration applets are in the demo directory.  The
  470.   applet viewer requires a file name.
  471.  
  472.   I haven't figured out the correct syntax to run bin/appletviewer
  473.   directly, but I figured out an alternative by examining the script
  474.   file.  To run a demo, I enter this command from the top of my Java
  475.   directory tree, /usr/local/java on my system):
  476.  
  477.   bin/java sun.applet.AppletViewer demo/<directory_name>/exampleN.html
  478.  
  479.   where <directory name> is the subdirectory off demo, and N is the
  480.   number of the example file (some directories have more than 1).
  481.  
  482.   The first time you run Java, a license screen (which reminds me of
  483.   Netscape's) is displayed.
  484.  
  485.   I've started the tutorials available from Sun's java site and the
  486.   similar one put out by the NTMUG.  I've discovered some problems with
  487.   the syntax in Sun's tutorial, so I've been following the NYMUG
  488.   tutorial instead for now.
  489.  
  490.   6.  Notes on Known Problems
  491.  
  492.   Steve Greene tells us: These are problems I ran into and how I fixed
  493.   them (e.g., this is my "Been There, Done That" troubleshooting list):
  494.  
  495.   1.  This is my parochial list on thw problems I had; it is not a
  496.   generic troubleshooting list!
  497.  
  498.   2.  It's probably RedHat/Caldera - centric.
  499.  
  500.  
  501.   6.1.  An error message refers to /dev/zero
  502.  
  503.   Go root and do `chmod 666 /dev/zero'.
  504.  
  505.   6.2.  SEGFAULT
  506.  
  507.   Occasionally, you may get a screen full of error messages, and the
  508.   system cheerfully fills up your swap space and locks-up.
  509.  
  510.   You're probably missing a library someplace.  Rerun ldconfig -v and
  511.   see what's missing. Perhaps LD_LIBRARY_PATH or CLASS_PATH is not set.
  512.   Finally, some applets are buggy or lock up the Linux JDK.
  513.  
  514.   (BTW, you can stop the lock-up by having another Xterm open with top
  515.   running; use top to kill the java process BEFORE it fills up swap and
  516.   hangs your system!)
  517.  
  518.   Java seems to want lots of resources, so I'd keep the number of
  519.   running/open apps on my desktop to a minimum.  It will load on a
  520.   486DX-2-75 with 8 Mbytes RAM and 16 Mbytes swap (it'll take a minute,
  521.   though).  I was able to get two animation applets running
  522.   simultaneously (sort of) before my system ran out of swap space and
  523.   hung.
  524.  
  525.   6.3.  bin/java, bin/javac, or bin/appletviewer gives you a help screen
  526.  
  527.   You left out some command-line parameter.
  528.  
  529.   6.4.  Problem Logging
  530.  
  531.   Finally, Joey Oravec tells us that HotJava keeps a log of what it does
  532.   and any problems in encounters. If you're up to diagnosing something
  533.   yourself, look at $HOME/.hotjava/weblog in the user's home directory.
  534.   That file will make it more obvious if you're perhaps missing a
  535.   library or something.
  536.  
  537.   7.  Related Resources
  538.  
  539.   For general information on Java, there is a FAQ maintained on the
  540.   comp.lang.java newsgroup; it is available at <http://www.city-
  541.   net.com/~krom/java-faq.html>.
  542.  
  543.   There is an older FAQ-style document by Joey Oravec
  544.   joey@sun.science.wayne.edu <mailto:joey@sun.science.wayne.edu> which
  545.   primarily refers to the alpha release.  You can find it at
  546.   <http://www.science.wayne.edu/~joey/java/linux.html>.  At some point
  547.   these documents may merge.
  548.  
  549.   Here are some Java-related pages:
  550.  
  551.  
  552.   o  Karl Asha's General Linux Java Page
  553.      <http://substance.blackdown.org/java-linux.html> LinuxJava Mailing
  554.      List <http://homer.ncm.com/java-linux/> Netrek for Java
  555.      <http://www.cs.utexas.edu/users/hiep/netjav.html> Blue-Skies for
  556.      Java <http://cirrus.sprl.umich.edu/javaweather/>
  557.  
  558.   8.  To Be Added...
  559.  
  560.  
  561.   o  More recipes for specific Linux variants.
  562.  
  563.  
  564.   9.  Acknowledgements
  565.  
  566.   Grateful acknowledgement is made to all contributors, including:
  567.  
  568.   o  John Franks <john@math.nwu.edu>
  569.  
  570.   o  Zachary DeAquila <zachary@zachs.place.org>
  571.  
  572.   o  Steve Greene <sgreene@access.digex.net>
  573.  
  574.   o  Dave Dittrich <dittrich@cac.washington.edu>
  575.  
  576.   o  Dave Flanagan <dave@ora.com>
  577.  
  578.   o  Joey Oravec <mailto:joey@sun.science.wayne.edu>
  579.  
  580.   o  Adam Smith <aws@cs.brown.edu>
  581.  
  582.   This version incorporates Steve Greene's rumored but never-published
  583.   Red Hat/Caldera mini-HOWTO.  I've also swiped some stuff I consider
  584.   useful off Joey Oravec's page -- special thanks to him.
  585.  
  586.   For other HOWTOs and FAQs I maintain, see my home page at
  587.   <http://www.locke.ccil.org/~esr/home.html>.
  588.